package ru.pb.game.network.engine.client.packets.sendable;

import ru.pb.game.network.engine.client.packets.GameServerToClientPacket;
import ru.pb.game.objects.model.players.Player;
import ru.pb.game.objects.model.room.Room;

public class PROTOCOL_ROOM_CHANGE_TEAM_ACK extends GameServerToClientPacket
{
	private Player _p;
	private Room _r;
	private int _oldSlot;

	public PROTOCOL_ROOM_CHANGE_TEAM_ACK(int oldSlot, Player player)
	{
		_p = player;
		_r = _p.getRoom();
		_oldSlot = oldSlot;
	}

	@Override
	public void writeImpl()
	{
		writeH(3625);
		// Для вывода сообщения что лидер сменил местами команы, надо 2.
		// Для сообщения "Исходя из настроек баланса, было установлено одинаковое кол-во бойцов"
		// TODO сравнить с оффом как ето число получать.
		writeC(0);
		writeC(_r.getLeader().getSlot()); // Новый слот Хоста
		writeC(1); // Сколько человек.

		writeC(_oldSlot); // Номер старого слота.
		writeC(_p.getSlot()); // Номер нового слота.
		writeC(_r.getSlotState(_oldSlot)); // Установить флаг в старом слоте.
		writeC(_r.getSlotState(_p.getSlot())); // Установить флаг в новом слоте.
	}
}